package org.ccay.manage.log.service;

import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;

import org.ccay.audit.vo.LogVO;
import org.ccay.core.base.PageVO;
import org.ccay.core.base.PagedResult;
import org.ccay.core.exception.ApplicationException;

/**
 * 日志查询服务
 * 
 * Created：2011-9-26
 * 
 * @author chaowangbang
 * @version:
 */
@Path("/log")
@Produces("application/json")
public interface ILogQueryService {

	/**
	 * 分页查询审计日志
	 * 
	 * @param logVO
	 * @param pageVO
	 * @return
	 */
	@GET
	@Path("list/page/{pageSize}/{curPage}")
	public PagedResult<LogVO> findLogList(@QueryParam("") LogVO logVO, @PathParam("") PageVO pageVO);

	/**
	 * 分页差异审计日志
	 * 
	 * @param logVO
	 * @param pageVO
	 * @return
	 */
	@GET
	@Path("list/dif/page/{pageSize}/{curPage}")
	public PagedResult<LogVO> findDifLogList(@QueryParam("") LogVO logVO, @PathParam("") PageVO pageVO);

	/**
	 * export用户登录次数
	 * 
	 * @param logVO
	 * 
	 */

	@GET
	@Path("statisticslist/export")
	public void exportUserEnterStat(@QueryParam("") LogVO logVO) throws ApplicationException;

	/**
	 * export日志
	 * 
	 * @param logVO
	 * 
	 */

	@GET
	@Path("logsList/export")
	public void exportLogs(@QueryParam("") LogVO logVO) throws ApplicationException;

	/**
	 * 初始化登录时间段，默认不超过3个月
	 * 
	 * @return
	 */
	@GET
	@Path("postponement")
	public List<String> findPostponement() throws ApplicationException;

	/**
	 * 分页查询统计用户登录次数
	 * 
	 * @param page
	 *            分页参数
	 * @return
	 */
	@GET
	@Path("statisticslist/page/{pageSize}/{curPage}")
	public PagedResult<LogVO> findUserStatisticsList(@QueryParam("") LogVO logVO, @PathParam("") PageVO pageVO);

	/**
	 * 差异日志查询
	 * 
	 * @param logVO
	 * @return
	 */
	@GET
	@Path("single")
	public List<LogVO> findTwoLogs(@QueryParam("") LogVO logVO);

}